package seeders

import (
	"github.com/goravel/framework/facades"
	"goravel/app/models"
	"goravel/app/utils"
)

type UserSeeder struct {
}

// Signature The name and signature of the seeder.
func (s *UserSeeder) Signature() string {
	return "UserSeeder"
}

// Run executes the seeder logic.
func (s *UserSeeder) Run() error {
	names := []string{
		"superwen",
		"thoomi",
		"Michael",
		"David",
		"James",
		"John",
		"Robert",
		"William",
		"Richard",
		"Joseph",
		"Thomas",
		"Daniel",
		"Matthew",
		"Christopher",
		"Andrew",
		"Ethan",
		"Ryan",
		"Anthony",
		"Joshua",
		"Kevin",
		"Brian",
		"Jason",
		"Emily",
		"Emma",
		"Olivia",
		"Sophia",
		"Ava",
		"Isabella",
		"Mia",
		"Charlotte",
		"Amelia",
		"Harper",
		"Evelyn",
		"Abigail",
		"Elizabeth",
		"Ella",
		"Scarlett",
		"Grace",
		"Lily",
		"Chloe",
		"Victoria",
		"Zoe",
		"Hannah",
		"Audrey",
		"Natalie",
		"Addison",
		"Brooklyn",
		"Savannah",
		"Leah",
		"Stella",
		"Hazel",
		"Lucy",
	}
	for _, name := range names {
		user := models.User{
			Name:     name,
			Email:    utils.MockEmail(name),
			Password: utils.MockMd5Password(),
			Phone:    utils.MockPhoneNumber(),
		}
		_ = facades.Orm().Query().Create(&user)
	}
	return nil
}
